﻿<Serializable()> Public Class GebäudeMinigeschütz_N
    Inherits ObjektGebäude

    Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Spielfeld As ObjektSpielfeld)
        MyBase.New("MINIGESCHÜTZ+N", neuSpieler, neuX, neuY, ObjektSpielfeld.Bodenschlacht)
        GebäudeLaden()
        getBildID(Spielfeld)
    End Sub
    Public Sub New(ByVal neuSpieler As Integer, ByVal neuLeben As Integer, ByVal neuBesetzungszahl As Integer, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Feuerzahl As Integer, ByVal Spielfeld As ObjektSpielfeld)
        MyBase.New("MINIGESCHÜTZ+N", neuSpieler, neuLeben, neuBesetzungszahl, neuX, neuY, Feuerzahl, ObjektSpielfeld.Bodenschlacht)
        GebäudeLaden()
        getBildID(Spielfeld)
    End Sub

    Private Sub GebäudeLaden()
        Gebäudename = "Minigeschütz"
        getFonds = False
        Deckung = 0
        Bestzunge = -1
        Schaden = 3
        Reichweite = 4
        Rechteck.Height = Hauptmenü.Feldbreite * 2
        Rechteck.Width = Hauptmenü.Feldbreite
        Angriff = Angriffe.SchussN
        Select Case My.Settings.CommanderWarsGameMoodus
            Case CommanderWarsGameModi.CommanderWars2, CommanderWarsGameModi.CommanderWars
                Leben = 200
            Case Else
                Leben = 99
        End Select
        Feuerbereite = 1
        Feuerladung = 1
        RotationsZenturm = New Point(Hauptmenü.Feldbreite / 2, Hauptmenü.Feldbreite)
        WirdZu = "EBENE+SCHROTT"
    End Sub
    Public Overrides Function GetMaxLeben() As Integer
        Select Case My.Settings.CommanderWarsGameMoodus
            Case CommanderWarsGameModi.CommanderWars2, CommanderWarsGameModi.CommanderWars
                If KP > 200 Then Return KP
                Return 200
            Case Else
                If KP > 99 Then Return KP
                Return 99
        End Select
    End Function
    Public Overrides Sub Feuer(ByVal X As Integer, ByVal Y As Integer)
        Dim M As ObjektSpielMenü = Objektverwalter.Menü
        GenerateNetzBefehlGebäudeFeuer(X, Y)
        DoDamage(X, Y)
        BackbufferSpiel.AddAnimation("Geschützfeuer", 2, New Point(X, Y), True, ObjektSpielfeld.Bodenschlacht)
        Feuerbereit = -1
        Objektverwalter.Spielfeld.Regeln.CheckSieg()
        M.Spielmodus = ObjektSpielMenü.Spielmodi.Nichts
    End Sub
    Public Overrides Sub FeuerradiusAnzeigen()
        Dim M As ObjektSpielMenü = Objektverwalter.Menü
        Geschützfeuermarkieren()
MusikEngine.LoadWav(My.Settings.Resourcenpfad + "Sound\Einheitausgewählt.wav", False)
        M.Spielmodus = ObjektSpielMenü.Spielmodi.FeuerradiusAnzeigen
    End Sub
    Public Overrides Sub DOSpielFrame()
        Feuerbereit = 1
    End Sub
    Public Overrides Function GetLandschaftsuntergrund() As String()
        Return New String() {"EBENE", "SCHNEE", "WÜSTE"}
    End Function
    Public Overrides Function GetAngriffsFelder() As System.Drawing.Point()
        Return GetGeschützfeuer()
    End Function
End Class
